Version Packages - #12
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
github-actions
Bot
force-pushed
the
changeset-release/master
branch
2 times, most recently
from
July 30, 2026 01:26
f0ab911 to
5dabe7c
Compare
github-actions
Bot
force-pushed
the
changeset-release/master
branch
from
August 20, 2026 19:54
5dabe7c to
7996602
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
effect-herdr@0.2.0
Minor Changes
91ae167: RPC surface expansion, branded identity types, and scope-bound liveness.
Wired RPC methods go from 14 to 62 (of herdr's 89), the bulk of this
release. New
operations/modules:workspace,tab,worktree,notification,integration,events,agent,agentReporting, plusclaimandentitybelow.operations/pane.tsgains eight spatialcombinators and
sendKeys;operations/current.tsgainscurrentPaneById.Still unwrapped:
plugin.*,client.window_title.*,server.*,popup.close,pane.graphics.*, andlayout.apply/export/set_split_ratio— see
TODO.md.Pane,Tab, andWorkspacenow carry a discriminatingEntityTypeIdtagplus
Equal/Hash/Ordertraits, and are built withmakePane/makeTab/makeWorkspace. This is a breaking change to construction: bare objectliterals (
{ id, tabId, workspaceId }) are no longer assignable. The tag liveson the prototype, so spreading an entity drops it at runtime rather than
producing a half-entity that compares by reference. Note the spread is still
statically assignable to
Pane— TypeScript tracks the symbol-keyed propertythrough a spread even though JS does not copy it — so kind-dispatching
combinators fail loudly on a detagged value rather than relying on
exhaustiveness.
The tag fixes a real soundness hole.
Panestructurally contains every fieldof
Tab, which contains every field ofWorkspace, so the previousfield-presence guards (
hasProperty(u, "id")for a workspace) returnedtruefor all three kinds — a
Panepassed where aWorkspacewas expected wouldtypecheck and dispatch the wrong RPC. New sound refinements
isPane/isTab/isWorkspacereplace them everywhere.New
claim/claimIn/withClaimtie a resource's liveness to aScope:claim(entity)forks a watcher on herdr's*.closedpush stream andinterrupts the claiming fiber if the resource is closed remotely, so
multi-step work stops at the close instead of failing on a later RPC.
disconnectPolicy: "retain"(default) only watches;"destroy"also closesthe resource when the scope ends.
claimtakes itsScopefrom the requirements channel;claimIntakes oneexplicitly, for callers managing lifetimes by hand.
New kind-polymorphic
close/focus/renamedispatch on the tag, collapsingthe three per-kind families into one surface each.
moveis deliberately notcollapsed —
movePanetakes a destination union and returns the pane's freshidentity, while
moveTab/moveWorkspacetake an index and returnvoid.d9b4bd3: Initial public release: typed Effect SDK for herdr.
HerdrRpcs, identity/snapshot value objects, tagged error types)HerdrConnection) with per-call-dial wire adapter and scopedevents.subscribesupportHerdrSession) and domain combinators:splitPane,focusPane,closePane,runInPane(batch + streaming),waitForOutput,activePane/activeTab,focusedPane/focusedTab/focusedWorkspace,focusedPaneRef,currentPane/currentTab/currentWorkspace,listWorkspaces